home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
ec_plus
/
ec-plus.lha
/
README
< prev
Wrap
Text File
|
1989-10-11
|
4KB
|
125 lines
You can find an exhaustive (I hope) description of the EC++ preprocessor
and environment in the file "EC++.TUTORIAL" in this directory. These are more
exhaustive of notes for installation and practical use of EC++.
The sources that come with this distribution are organized in the following
directories:
EC++ :
Contains all the sources to make up the EC++ preprocessor and the Ctags
program for producing tags files adequate to C++.
globals :
Contains files that should be included or linked with the applications.
gc++ :
This is an interface for using the Boehm's garbage collector. The gc is not
included with this distribution. It can be obtained by anonymous ftp from:
titan.rice.edu:~ftp/public/gc.shar.0[12]
generics :
This contains an example of a parametric container class.
containers :
Actual implementation of the container class used by the generic interface
contained in the previous directory.
sentence :
This is a complete example program using some of the features of EC++. Note
in particular how the initialization of the garbage collector is done before
entering execution of the main.
N.B. this program is supposed to use the "String" class of the GNU-g++
library. However, due to a special memory management technique in this class,
the program won't work using the gc. You have to link it making some dummy
version of the interface routines toward the gc, or else use a different
String class (with equivalent methods) and the gc. I have tried both.
The first three directories are those that really constitute the EC++
preprocessor and environment. The last three directories are intended as
examples of use of EC++.
The software of this distribution is copyrighted according to the notice
"Copyright" in this directory, which is also included in most of the source
files.
If you have GNU-g++, 1.35.0 or more recent versions, installed, you should
be able to compile and link the preprocessor just by executing make in the
EC++ directory.
Some of the examples given include both the original ".h" and ".cc" files
as well as the output from the translator in the ".H" and ".C" files.
Due to a problem with the "#line" directive in the version of g++ that I am
using (1.35.0), the "#line" directive is commented in the preprocessor output.
Should this problem be fixed in the version you are using, you should modify
the "ECprocess.cc" file to output an effective "#line" directive.
The makefiles are in their final version as they come out after the
preprocessing step.
However be aware of the fact that the basic patterns that should be
provided before running the preprocessor in the "generic" directory are:
---- preprocess.mk:
.SUFFIXES: .C .cc .H .h
.cc.C:
EC++ $*.cc > t0000
mv t0000 $*.C
.h.H:
EC++ $*.h > t0000
mv t0000 $*.H
INC =
SRC =
all: inc src
inc : $(INC)
src : $(SRC)
#
---- compile.mk:
.SUFFIXES: .o .c .C .H
.c.o:
cc -g -c -I$(cc) $*.c
.C.o:
g++ -g -c -I$(cc) $*.C
OBJ =
all: obj tags
obj : $(OBJ)
tags: $(OBJ)
cctags *.cc *.h | sort > tags
#
and also be aware that the preprocessor will fill the goal fields!
EC++ is not a product of my main line of work, but more a byproduct. A
tool that is proving itself to be useful for the design and development of a
geometric modeling toolkit which takes most of my time.
I hope that EC++ will also help you in your work. After considering the
disclaimer of responsibility that is explained in the Copyright note, should
you have problems using this software, or should something not be clear, let
me know at masotti@lipari.usc.edu and I will do my best to help you (if I am
not overwhelmed with the rest of the work that I have to do).
I would really appreciate if you let me know that you are using EC++. I
could set up a mailing list, and communicate with you in matters of interest.
Comments, suggestions, bug fixes and improvements to this software are also
welcome.
Cheers,
--Glauco Masotti